home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / MChess / MobileChess.jar / E / I.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-07-18  |  4.5 KB  |  331 lines

  1. package E;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataInputStream;
  5. import java.io.IOException;
  6. import java.util.Date;
  7. import java.util.Hashtable;
  8. import java.util.Vector;
  9.  
  10. // $FF: renamed from: E.I
  11. public class class_0 {
  12.    protected Vector addElement;
  13.    private DataInputStream append;
  14.    protected int elementAt = -1;
  15.    private boolean equals;
  16.    private int forName;
  17.  
  18.    public class_0() {
  19.    }
  20.  
  21.    public class_0(DataInputStream var1) {
  22.       this.addElement(var1);
  23.    }
  24.  
  25.    public final void addElement(DataInputStream var1) {
  26.       this.append = var1;
  27.       this.equals = true;
  28.       this.forName = 0;
  29.       this.elementAt = -1;
  30.       this.addElement = null;
  31.    }
  32.  
  33.    // $FF: renamed from: I () int
  34.    public final int method_0() {
  35.       int var1 = this.toByteArray();
  36.       switch (var1) {
  37.          case 73:
  38.             return this.forName();
  39.          default:
  40.             throw this.toString("int", var1);
  41.       }
  42.    }
  43.  
  44.    // $FF: renamed from: Z () java.lang.Object
  45.    public final Object method_1() {
  46.       int var1 = this.toByteArray();
  47.       switch (var1) {
  48.          case 66:
  49.          case 98:
  50.             this.equals = var1 == 66;
  51.             this.forName = (this.toByteArray() << 8) + this.toByteArray();
  52.             ByteArrayOutputStream var11 = new ByteArrayOutputStream();
  53.  
  54.             int var9;
  55.             while((var9 = this.put()) >= 0) {
  56.                var11.write(var9);
  57.             }
  58.  
  59.             return var11.toByteArray();
  60.          case 67:
  61.          case 68:
  62.          case 69:
  63.          case 71:
  64.          case 72:
  65.          case 74:
  66.          case 75:
  67.          case 79:
  68.          case 80:
  69.          case 81:
  70.          case 85:
  71.          case 87:
  72.          case 88:
  73.          case 89:
  74.          case 90:
  75.          case 91:
  76.          case 92:
  77.          case 93:
  78.          case 94:
  79.          case 95:
  80.          case 96:
  81.          case 97:
  82.          case 99:
  83.          case 101:
  84.          case 102:
  85.          case 103:
  86.          case 104:
  87.          case 105:
  88.          case 106:
  89.          case 107:
  90.          case 108:
  91.          case 109:
  92.          case 110:
  93.          case 111:
  94.          case 112:
  95.          case 113:
  96.          case 114:
  97.          default:
  98.             throw this.write("unknown code:" + (char)var1);
  99.          case 70:
  100.             return new Boolean(false);
  101.          case 73:
  102.             return new Integer(this.forName());
  103.          case 76:
  104.             return new Long(this.getName());
  105.          case 77:
  106.             String var8 = this.equals();
  107.             return this.elementAt(new Hashtable());
  108.          case 78:
  109.             return null;
  110.          case 82:
  111.             int var7 = this.forName();
  112.             return this.addElement.elementAt(var7);
  113.          case 83:
  114.          case 115:
  115.             this.equals = var1 == 83;
  116.             this.forName = (this.toByteArray() << 8) + this.toByteArray();
  117.             StringBuffer var10 = new StringBuffer();
  118.  
  119.             int var6;
  120.             while((var6 = this.newInstance()) >= 0) {
  121.                var10.append((char)var6);
  122.             }
  123.  
  124.             return var10.toString();
  125.          case 84:
  126.             return new Boolean(true);
  127.          case 86:
  128.             String var2 = this.equals();
  129.             if (var2 != null && !var2.equals("java.util.Vector") && !var2.equals("")) {
  130.                C var3;
  131.                try {
  132.                   var3 = (C)Class.forName(var2).newInstance();
  133.                   var3.I(this.append);
  134.                } catch (Exception var5) {
  135.                   throw this.write("unknown class " + var2);
  136.                }
  137.  
  138.                int var4 = this.toByteArray();
  139.                if (var4 != 122) {
  140.                   throw this.toString("Serializable", var4);
  141.                }
  142.  
  143.                return var3;
  144.             }
  145.  
  146.             return this.append(new Vector());
  147.          case 100:
  148.             return new Date(this.getName());
  149.       }
  150.    }
  151.  
  152.    protected final Object append(Vector var1) {
  153.       if (this.addElement == null) {
  154.          this.addElement = new Vector();
  155.       }
  156.  
  157.       this.addElement.addElement(var1);
  158.  
  159.       int var2;
  160.       for(var2 = this.toByteArray(); var2 >= 0 && var2 != 122; var2 = this.toByteArray()) {
  161.          this.elementAt = var2;
  162.          Object var3 = this.method_1();
  163.          var1.addElement(var3);
  164.       }
  165.  
  166.       if (var2 != 122) {
  167.          throw this.toString("list", var2);
  168.       } else {
  169.          return var1;
  170.       }
  171.    }
  172.  
  173.    protected final Object elementAt(Hashtable var1) {
  174.       if (this.addElement == null) {
  175.          this.addElement = new Vector();
  176.       }
  177.  
  178.       this.addElement.addElement(var1);
  179.  
  180.       int var2;
  181.       for(var2 = this.toByteArray(); var2 >= 0 && var2 != 122; var2 = this.toByteArray()) {
  182.          this.elementAt = var2;
  183.          Object var3 = this.method_1();
  184.          Object var4 = this.method_1();
  185.          var1.put(var3, var4);
  186.       }
  187.  
  188.       if (var2 != 122) {
  189.          throw this.toString("map", var2);
  190.       } else {
  191.          return var1;
  192.       }
  193.    }
  194.  
  195.    private String equals() {
  196.       int var1 = this.toByteArray();
  197.       if (var1 != 116) {
  198.          if (var1 == 104) {
  199.             this.equals = true;
  200.             N.C var6 = N.C.I();
  201.             String var7 = null;
  202.  
  203.             try {
  204.                var7 = var6.I(this.getName()).getName();
  205.             } catch (ClassNotFoundException var5) {
  206.                this.write("Class not found in registry");
  207.             }
  208.  
  209.             return var7;
  210.          } else {
  211.             throw this.toString("type", var1);
  212.          }
  213.       } else {
  214.          this.equals = true;
  215.          this.forName = (this.toByteArray() << 8) + this.toByteArray();
  216.          StringBuffer var2 = new StringBuffer();
  217.  
  218.          int var3;
  219.          while((var3 = this.newInstance()) >= 0) {
  220.             var2.append((char)var3);
  221.          }
  222.  
  223.          return var2.toString();
  224.       }
  225.    }
  226.  
  227.    private int forName() {
  228.       int var1 = this.toByteArray();
  229.       int var2 = this.toByteArray();
  230.       int var3 = this.toByteArray();
  231.       int var4 = this.toByteArray();
  232.       return (var1 << 24) + (var2 << 16) + (var3 << 8) + var4;
  233.    }
  234.  
  235.    private long getName() {
  236.       long var1 = (long)this.toByteArray();
  237.       long var3 = (long)this.toByteArray();
  238.       long var5 = (long)this.toByteArray();
  239.       long var7 = (long)this.toByteArray();
  240.       long var9 = (long)this.toByteArray();
  241.       long var11 = (long)this.toByteArray();
  242.       long var13 = (long)this.toByteArray();
  243.       long var15 = (long)this.toByteArray();
  244.       return (var1 << 56) + (var3 << 48) + (var5 << 40) + (var7 << 32) + (var9 << 24) + (var11 << 16) + (var13 << 8) + var15;
  245.    }
  246.  
  247.    final int newInstance() {
  248.       while(this.forName <= 0) {
  249.          if (this.equals) {
  250.             return -1;
  251.          }
  252.  
  253.          int var1 = this.toByteArray();
  254.          switch (var1) {
  255.             case 83:
  256.             case 88:
  257.                this.equals = true;
  258.                this.forName = (this.toByteArray() << 8) + this.toByteArray();
  259.                break;
  260.             case 115:
  261.             case 120:
  262.                this.equals = false;
  263.                this.forName = (this.toByteArray() << 8) + this.toByteArray();
  264.                break;
  265.             default:
  266.                throw this.toString("string", var1);
  267.          }
  268.       }
  269.  
  270.       --this.forName;
  271.       int var5 = this.toByteArray();
  272.       if (var5 < 128) {
  273.          return var5;
  274.       } else if ((var5 & 224) == 192) {
  275.          int var6 = this.toByteArray();
  276.          int var7 = ((var5 & 31) << 6) + (var6 & 63);
  277.          return var7;
  278.       } else if ((var5 & 240) == 224) {
  279.          int var2 = this.toByteArray();
  280.          int var3 = this.toByteArray();
  281.          int var4 = ((var5 & 15) << 12) + ((var2 & 63) << 6) + (var3 & 63);
  282.          return var4;
  283.       } else {
  284.          throw this.write("bad utf-8 encoding");
  285.       }
  286.    }
  287.  
  288.    final int put() {
  289.       while(this.forName <= 0) {
  290.          if (this.equals) {
  291.             return -1;
  292.          }
  293.  
  294.          int var1 = this.toByteArray();
  295.          switch (var1) {
  296.             case 66:
  297.                this.equals = true;
  298.                this.forName = (this.toByteArray() << 8) + this.toByteArray();
  299.                break;
  300.             case 98:
  301.                this.equals = false;
  302.                this.forName = (this.toByteArray() << 8) + this.toByteArray();
  303.                break;
  304.             default:
  305.                throw this.toString("byte[]", var1);
  306.          }
  307.       }
  308.  
  309.       --this.forName;
  310.       return this.toByteArray();
  311.    }
  312.  
  313.    final int toByteArray() {
  314.       if (this.elementAt >= 0) {
  315.          int var1 = this.elementAt;
  316.          this.elementAt = -1;
  317.          return var1;
  318.       } else {
  319.          return this.append.read();
  320.       }
  321.    }
  322.  
  323.    protected final IOException toString(String var1, int var2) {
  324.       return var2 < 0 ? this.write("expected " + var1 + " at end of file") : this.write("expected " + var1 + " at " + (char)var2);
  325.    }
  326.  
  327.    protected final IOException write(String var1) {
  328.       return new IOException(var1);
  329.    }
  330. }
  331.